<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>EOS.IO: contracts/eoslib/datastream.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="eos-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">EOS.IO
   &#160;<span id="projectnumber">DAWN3.0.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ae9b15dd87e066e1908bbd90e8f38627.html">contracts</a></li><li class="navelem"><a class="el" href="dir_3fea0bf1ce879ce73e6ecec98007efcd.html">eoslib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">datastream.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="datastream_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="system_8h.html">eoslib/system.h</a>&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="memory_8h.html">eoslib/memory.h</a>&gt;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceeosio.html">eosio</a> {</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html">   14</a></span>&#160;<span class="keyword">class </span><a class="code" href="classeosio_1_1datastream.html">datastream</a> {</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;   <span class="keyword">public</span>:</div><div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a72befc5c1f51a601ad07e7c8e61856f4">   16</a></span>&#160;      <a class="code" href="classeosio_1_1datastream.html#a72befc5c1f51a601ad07e7c8e61856f4">datastream</a>( T start, <span class="keywordtype">size_t</span> s )</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;      :_start(start),_pos(start),_end(start+s){};</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;      </div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a928fbd3301caee3c64ea620442fb0e64">   24</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classeosio_1_1datastream.html#a928fbd3301caee3c64ea620442fb0e64">skip</a>( <span class="keywordtype">size_t</span> s ){ _pos += s; }</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;      </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">   32</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>( <span class="keywordtype">char</span>* d, <span class="keywordtype">size_t</span> s ) {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <a class="code" href="group__systemcapi.html#gae2a6ebaf48fe7c69f847ae18f109d09a">assert</a>( <span class="keywordtype">size_t</span>(_end - _pos) &gt;= (<span class="keywordtype">size_t</span>)s, <span class="stringliteral">&quot;read&quot;</span> );</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <a class="code" href="group__memorycapi.html#ga59ed1449718a3c27f7622cb3efb845af">memcpy</a>( d, _pos, s );</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        _pos += s;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;      }</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">   45</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* d, <span class="keywordtype">size_t</span> s ) {</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <a class="code" href="group__systemcapi.html#gae2a6ebaf48fe7c69f847ae18f109d09a">assert</a>( _end - _pos &gt;= (<a class="code" href="group__types.html#ga0d2e949ab6a1bb62f1b295cc79bc1f60">int32_t</a>)s, <span class="stringliteral">&quot;write&quot;</span> );</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <a class="code" href="group__memorycapi.html#ga59ed1449718a3c27f7622cb3efb845af">memcpy</a>( _pos, d, s );</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        _pos += s;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      }</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;     </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#ad0a23aa024810028ce8669627577859d">   57</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classeosio_1_1datastream.html#ad0a23aa024810028ce8669627577859d">put</a>(<span class="keywordtype">char</span> c) { </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <a class="code" href="group__systemcapi.html#gae2a6ebaf48fe7c69f847ae18f109d09a">assert</a>( _pos &lt; _end, <span class="stringliteral">&quot;put&quot;</span> );</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        *_pos = c; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        ++_pos; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;     </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a001047d70942ab5beb836e498d9f9eab">   69</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <span class="keyword">get</span>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>&amp; c ) { <span class="keywordflow">return</span> <span class="keyword">get</span>( *(<span class="keywordtype">char</span>*)&amp;c ); }</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a10ab58b7cc695366b42957f4b8ff56eb">   70</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <span class="keyword">get</span>( <span class="keywordtype">char</span>&amp; c ) </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      {</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <a class="code" href="group__systemcapi.html#gae2a6ebaf48fe7c69f847ae18f109d09a">assert</a>( _pos &lt; _end, <span class="stringliteral">&quot;get&quot;</span> );</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        c = *_pos;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        ++_pos; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;      }</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a090e80d1bddd21337b16b3fad76c551d">   83</a></span>&#160;      T <a class="code" href="classeosio_1_1datastream.html#a090e80d1bddd21337b16b3fad76c551d">pos</a>()<span class="keyword">const </span>{ <span class="keywordflow">return</span> _pos; }</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a69cbb57958a1ec6d66e6aa4bcc39ec23">   84</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classeosio_1_1datastream.html#a69cbb57958a1ec6d66e6aa4bcc39ec23">valid</a>()<span class="keyword">const </span>{ <span class="keywordflow">return</span> _pos &lt;= _end &amp;&amp; _pos &gt;= _start;  }</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#ac82f1102bb9593764a654dfbedb88328">   91</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classeosio_1_1datastream.html#ac82f1102bb9593764a654dfbedb88328">seekp</a>(<span class="keywordtype">size_t</span> p) { _pos = _start + p; <span class="keywordflow">return</span> _pos &lt;= _end; }</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#a32df7a816da793f3183d235c67b042a7">   98</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classeosio_1_1datastream.html#a32df7a816da793f3183d235c67b042a7">tellp</a>()<span class="keyword">const      </span>{ <span class="keywordflow">return</span> _pos - _start; }</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;      </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream.html#af57bc94263dc08eb60b910a53645a052">  105</a></span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classeosio_1_1datastream.html#af57bc94263dc08eb60b910a53645a052">remaining</a>()<span class="keyword">const  </span>{ <span class="keywordflow">return</span> _end - _pos; }</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;      T _start;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;      T _pos;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      T _end;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;};</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">template</span>&lt;&gt;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html">  116</a></span>&#160;<span class="keyword">class </span><a class="code" href="classeosio_1_1datastream.html">datastream</a>&lt;<a class="code" href="group__types.html#ga7c94ea6f8948649f8d181ae55911eeaf">size_t</a>&gt; {</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;   <span class="keyword">public</span>:</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#abf5e113ace4a6bfa309fcecf3fc49f63">  118</a></span>&#160;     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#abf5e113ace4a6bfa309fcecf3fc49f63">datastream</a>( <span class="keywordtype">size_t</span> init_size = 0):_size(init_size){};</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#ad9d7da49e77a5db9c80c256845b26894">  119</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">bool</span>     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#ad9d7da49e77a5db9c80c256845b26894">skip</a>( <span class="keywordtype">size_t</span> s )                 { _size += s; <span class="keywordflow">return</span> <span class="keyword">true</span>;  }</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#a3c2ca245c9f33549505ea7886a1d3ecf">  120</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">bool</span>     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#a3c2ca245c9f33549505ea7886a1d3ecf">write</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* ,<span class="keywordtype">size_t</span> s )  { _size += s; <span class="keywordflow">return</span> <span class="keyword">true</span>;  }</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#a4a1a95751dafd76aea580d80c84bf8bb">  121</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">bool</span>     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#a4a1a95751dafd76aea580d80c84bf8bb">put</a>(<span class="keywordtype">char</span> )                      { ++_size; <span class="keywordflow">return</span>  <span class="keyword">true</span>;    }</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12">  122</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">bool</span>     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12">valid</a>()<span class="keyword">const                     </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>;              }</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#ac4720cb82d256a41f27bbf389b37790b">  123</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">bool</span>     <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#ac4720cb82d256a41f27bbf389b37790b">seekp</a>(<span class="keywordtype">size_t</span> p)                  { _size = p;  <span class="keywordflow">return</span> <span class="keyword">true</span>;  }</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f">  124</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">size_t</span>   <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f">tellp</a>()<span class="keyword">const                     </span>{ <span class="keywordflow">return</span> _size;             }</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classeosio_1_1datastream_3_01size__t_01_4.html#a345f36fa8492917662d6185db631042d">  125</a></span>&#160;     <span class="keyword">inline</span> <span class="keywordtype">size_t</span>   <a class="code" href="classeosio_1_1datastream_3_01size__t_01_4.html#a345f36fa8492917662d6185db631042d">remaining</a>()<span class="keyword">const                 </span>{ <span class="keywordflow">return</span> 0;                 }</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;     <span class="keywordtype">size_t</span> _size;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;};</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a260b28d50d78aebe5b9cdc25c3a5619c">  137</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="structuint256.html">uint256</a> d) {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;}</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">  148</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="structuint256.html">uint256</a>&amp; d) {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;}</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="namespaceeosio.html#ab9ea2aaefd17ab1b127b1dc674148ba2">  160</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga396787e5ec029b1205bd3e4cd9763e7d">uint128_t</a> d) {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a2ddea0ec64119a3c06c08ab18f07312b">  171</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga396787e5ec029b1205bd3e4cd9763e7d">uint128_t</a>&amp; d) {</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;}</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a5b1fd83c8a5b99c467a26047940335b9">  183</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga811ec3b3c805bfd6b8ec302d59fc5a94">int128_t</a> d) {</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;}</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a0ab4de6927af4262abaa8d88b7611e8e">  194</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga811ec3b3c805bfd6b8ec302d59fc5a94">int128_t</a>&amp; d) {</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;}</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a4151debacdc18d7011b33f0b745e9edd">  206</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga0d2e949ab6a1bb62f1b295cc79bc1f60">int32_t</a> d) {</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;}</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a27b0dcee0db4b6a7fae7abd88f9f530b">  217</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga0d2e949ab6a1bb62f1b295cc79bc1f60">int32_t</a>&amp; d) {</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;}</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a6c2f2bfe3070d4761c66863b6273f0b9">  229</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga06896e8c53f721507066c079052171f8">uint32_t</a> d) {</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;}</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a567774ecb3112c06339e77cd577b0491">  240</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga06896e8c53f721507066c079052171f8">uint32_t</a>&amp; d) {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;}</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a7e2e9f4c6f72ffc1cf853f73100a751f">  252</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga996e72f71b11a5bb8b3b7b6936b1516d">int64_t</a> d) {</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;}</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="namespaceeosio.html#ade0d039b91a8bd365d20dd49d35806ab">  263</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga996e72f71b11a5bb8b3b7b6936b1516d">int64_t</a>&amp; d) {</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;}</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a288640b6d761f8a01632bb9370933571">  275</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#gaaa5d1cd013383c889537491c3cfd9aad">uint64_t</a> d) {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;}</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="namespaceeosio.html#afee2cf83746d8a254fa534114188246e">  286</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#gaaa5d1cd013383c889537491c3cfd9aad">uint64_t</a>&amp; d) {</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;}</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="namespaceeosio.html#ae8a3241ee0c6a39d227b89aed0b4d18f">  298</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#gaa343fa3b3d06292b959ffdd4c4703b06">int16_t</a> d) {</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;}</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a8b5e651a7f09efba3834c7c372d80d47">  309</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#gaa343fa3b3d06292b959ffdd4c4703b06">int16_t</a>&amp; d) {</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;}</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="namespaceeosio.html#af7a7b64f55970d82dfc6ecfa2c6529f4">  321</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#ga273cf69d639a59973b6019625df33e30">uint16_t</a> d) {</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;}</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a3a5d070afc2de777601104f39e91faeb">  332</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#ga273cf69d639a59973b6019625df33e30">uint16_t</a>&amp; d) {</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;}</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a08e73b7e09b2ef4311a132c6f34dccc7">  344</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#gad566f6541e98b74246db1a3a3a85ad49">int8_t</a> d) {</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;}</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="namespaceeosio.html#aee2bba4019b9f88adac89311a8a25501">  355</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#gad566f6541e98b74246db1a3a3a85ad49">int8_t</a>&amp; d) {</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;}</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="namespaceeosio.html#abfc006cd56934f497b751950a409d07e">  367</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; operator&lt;&lt;(datastream&lt;Stream&gt;&amp; ds, <span class="keyword">const</span> <a class="code" href="group__types.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> d) {</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">write</a>( (<span class="keyword">const</span> <span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Stream&gt;</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="namespaceeosio.html#a5487eb6a2a3c7b31c4ea2cc3c67106ca">  378</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; <a class="code" href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">operator&gt;&gt;</a>(<a class="code" href="classeosio_1_1datastream.html">datastream&lt;Stream&gt;</a>&amp; ds, <a class="code" href="group__types.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&amp; d) {</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  ds.<a class="code" href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">read</a>((<span class="keywordtype">char</span>*)&amp;d, <span class="keyword">sizeof</span>(d) );</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  <span class="keywordflow">return</span> ds;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;}</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;}</div><div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_a46f1fc6f14d7e79c2181f4e3a2ae5b12"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12">eosio::datastream&lt; size_t &gt;::valid</a></div><div class="ttdeci">bool valid() const</div><div class="ttdef"><b>Definition:</b> datastream.hpp:122</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_abf5e113ace4a6bfa309fcecf3fc49f63"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#abf5e113ace4a6bfa309fcecf3fc49f63">eosio::datastream&lt; size_t &gt;::datastream</a></div><div class="ttdeci">datastream(size_t init_size=0)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:118</div></div>
<div class="ttc" id="group__types_html_gaba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="group__types.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_aadcdabf95d8b142bd9b43bbcdc4e0d9f"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f">eosio::datastream&lt; size_t &gt;::tellp</a></div><div class="ttdeci">size_t tellp() const</div><div class="ttdef"><b>Definition:</b> datastream.hpp:124</div></div>
<div class="ttc" id="namespaceeosio_html"><div class="ttname"><a href="namespaceeosio.html">eosio</a></div><div class="ttdoc">Used to forward declare raw functions. </div><div class="ttdef"><b>Definition:</b> account.hpp:12</div></div>
<div class="ttc" id="group__types_html_ga7c94ea6f8948649f8d181ae55911eeaf"><div class="ttname"><a href="group__types.html#ga7c94ea6f8948649f8d181ae55911eeaf">size_t</a></div><div class="ttdeci">unsigned int size_t</div><div class="ttdef"><b>Definition:</b> types.h:33</div></div>
<div class="ttc" id="group__systemcapi_html_gae2a6ebaf48fe7c69f847ae18f109d09a"><div class="ttname"><a href="group__systemcapi.html#gae2a6ebaf48fe7c69f847ae18f109d09a">assert</a></div><div class="ttdeci">void assert(uint32_t test, const char *cstr)</div><div class="ttdoc">Aborts processing of this action and unwinds all pending changes. </div></div>
<div class="ttc" id="memory_8h_html"><div class="ttname"><a href="memory_8h.html">memory.h</a></div></div>
<div class="ttc" id="group__types_html_ga273cf69d639a59973b6019625df33e30"><div class="ttname"><a href="group__types.html#ga273cf69d639a59973b6019625df33e30">uint16_t</a></div><div class="ttdeci">unsigned short uint16_t</div><div class="ttdef"><b>Definition:</b> types.h:20</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a32df7a816da793f3183d235c67b042a7"><div class="ttname"><a href="classeosio_1_1datastream.html#a32df7a816da793f3183d235c67b042a7">eosio::datastream::tellp</a></div><div class="ttdeci">size_t tellp() const</div><div class="ttdoc">Gets the position within the current stream. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:98</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_ae1d8d46d5cf80745bbb00a6b8fee243a"><div class="ttname"><a href="classeosio_1_1datastream.html#ae1d8d46d5cf80745bbb00a6b8fee243a">eosio::datastream::read</a></div><div class="ttdeci">bool read(char *d, size_t s)</div><div class="ttdoc">Reads a specified number of bytes from this stream into a buffer. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:32</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_ad9d7da49e77a5db9c80c256845b26894"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#ad9d7da49e77a5db9c80c256845b26894">eosio::datastream&lt; size_t &gt;::skip</a></div><div class="ttdeci">bool skip(size_t s)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:119</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a69cbb57958a1ec6d66e6aa4bcc39ec23"><div class="ttname"><a href="classeosio_1_1datastream.html#a69cbb57958a1ec6d66e6aa4bcc39ec23">eosio::datastream::valid</a></div><div class="ttdeci">bool valid() const</div><div class="ttdef"><b>Definition:</b> datastream.hpp:84</div></div>
<div class="ttc" id="namespaceeosio_html_ab917f541b9a3f18929c11aadff5ca695"><div class="ttname"><a href="namespaceeosio.html#ab917f541b9a3f18929c11aadff5ca695">eosio::operator&gt;&gt;</a></div><div class="ttdeci">datastream&lt; Stream &gt; &amp; operator&gt;&gt;(datastream&lt; Stream &gt; &amp;ds, uint256 &amp;d)</div><div class="ttdoc">Deserialize a uint256. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:148</div></div>
<div class="ttc" id="group__types_html_gaaa5d1cd013383c889537491c3cfd9aad"><div class="ttname"><a href="group__types.html#gaaa5d1cd013383c889537491c3cfd9aad">uint64_t</a></div><div class="ttdeci">unsigned long long uint64_t</div><div class="ttdef"><b>Definition:</b> types.h:18</div></div>
<div class="ttc" id="structuint256_html"><div class="ttname"><a href="structuint256.html">uint256</a></div><div class="ttdef"><b>Definition:</b> types.h:29</div></div>
<div class="ttc" id="group__memorycapi_html_ga59ed1449718a3c27f7622cb3efb845af"><div class="ttname"><a href="group__memorycapi.html#ga59ed1449718a3c27f7622cb3efb845af">memcpy</a></div><div class="ttdeci">void * memcpy(void *destination, const void *source, uint32_t num)</div><div class="ttdoc">Copy a block of memory from source to destination. </div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a1e42133f6f57a8c89e1db04abe44b342"><div class="ttname"><a href="classeosio_1_1datastream.html#a1e42133f6f57a8c89e1db04abe44b342">eosio::datastream::write</a></div><div class="ttdeci">bool write(const char *d, size_t s)</div><div class="ttdoc">Writes a specified number of bytes into the stream from a buffer. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:45</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a090e80d1bddd21337b16b3fad76c551d"><div class="ttname"><a href="classeosio_1_1datastream.html#a090e80d1bddd21337b16b3fad76c551d">eosio::datastream::pos</a></div><div class="ttdeci">T pos() const</div><div class="ttdoc">Retrieves the current position of the stream. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:83</div></div>
<div class="ttc" id="group__types_html_ga06896e8c53f721507066c079052171f8"><div class="ttname"><a href="group__types.html#ga06896e8c53f721507066c079052171f8">uint32_t</a></div><div class="ttdeci">unsigned long uint32_t</div><div class="ttdef"><b>Definition:</b> types.h:19</div></div>
<div class="ttc" id="group__types_html_gaa343fa3b3d06292b959ffdd4c4703b06"><div class="ttname"><a href="group__types.html#gaa343fa3b3d06292b959ffdd4c4703b06">int16_t</a></div><div class="ttdeci">short int16_t</div><div class="ttdef"><b>Definition:</b> types.h:26</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_a3c2ca245c9f33549505ea7886a1d3ecf"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#a3c2ca245c9f33549505ea7886a1d3ecf">eosio::datastream&lt; size_t &gt;::write</a></div><div class="ttdeci">bool write(const char *, size_t s)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:120</div></div>
<div class="ttc" id="group__types_html_ga811ec3b3c805bfd6b8ec302d59fc5a94"><div class="ttname"><a href="group__types.html#ga811ec3b3c805bfd6b8ec302d59fc5a94">int128_t</a></div><div class="ttdeci">__int128 int128_t</div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_a345f36fa8492917662d6185db631042d"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#a345f36fa8492917662d6185db631042d">eosio::datastream&lt; size_t &gt;::remaining</a></div><div class="ttdeci">size_t remaining() const</div><div class="ttdef"><b>Definition:</b> datastream.hpp:125</div></div>
<div class="ttc" id="group__types_html_gad566f6541e98b74246db1a3a3a85ad49"><div class="ttname"><a href="group__types.html#gad566f6541e98b74246db1a3a3a85ad49">int8_t</a></div><div class="ttdeci">char int8_t</div><div class="ttdef"><b>Definition:</b> types.h:27</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_ad0a23aa024810028ce8669627577859d"><div class="ttname"><a href="classeosio_1_1datastream.html#ad0a23aa024810028ce8669627577859d">eosio::datastream::put</a></div><div class="ttdeci">bool put(char c)</div><div class="ttdoc">Writes a byte into the stream. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:57</div></div>
<div class="ttc" id="group__types_html_ga0d2e949ab6a1bb62f1b295cc79bc1f60"><div class="ttname"><a href="group__types.html#ga0d2e949ab6a1bb62f1b295cc79bc1f60">int32_t</a></div><div class="ttdeci">long int32_t</div><div class="ttdef"><b>Definition:</b> types.h:25</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a72befc5c1f51a601ad07e7c8e61856f4"><div class="ttname"><a href="classeosio_1_1datastream.html#a72befc5c1f51a601ad07e7c8e61856f4">eosio::datastream::datastream</a></div><div class="ttdeci">datastream(T start, size_t s)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:16</div></div>
<div class="ttc" id="system_8h_html"><div class="ttname"><a href="system_8h.html">system.h</a></div></div>
<div class="ttc" id="group__types_html_ga396787e5ec029b1205bd3e4cd9763e7d"><div class="ttname"><a href="group__types.html#ga396787e5ec029b1205bd3e4cd9763e7d">uint128_t</a></div><div class="ttdeci">unsigned __int128 uint128_t</div><div class="ttdef"><b>Definition:</b> types.h:17</div></div>
<div class="ttc" id="classeosio_1_1datastream_html"><div class="ttname"><a href="classeosio_1_1datastream.html">eosio::datastream</a></div><div class="ttdoc">A data stream for reading and writing data in the form of bytes. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:14</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_a4a1a95751dafd76aea580d80c84bf8bb"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#a4a1a95751dafd76aea580d80c84bf8bb">eosio::datastream&lt; size_t &gt;::put</a></div><div class="ttdeci">bool put(char)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:121</div></div>
<div class="ttc" id="group__types_html_ga996e72f71b11a5bb8b3b7b6936b1516d"><div class="ttname"><a href="group__types.html#ga996e72f71b11a5bb8b3b7b6936b1516d">int64_t</a></div><div class="ttdeci">long long int64_t</div><div class="ttdef"><b>Definition:</b> types.h:24</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_a928fbd3301caee3c64ea620442fb0e64"><div class="ttname"><a href="classeosio_1_1datastream.html#a928fbd3301caee3c64ea620442fb0e64">eosio::datastream::skip</a></div><div class="ttdeci">void skip(size_t s)</div><div class="ttdoc">Skips a specific number of bytes from this stream. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:24</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_ac82f1102bb9593764a654dfbedb88328"><div class="ttname"><a href="classeosio_1_1datastream.html#ac82f1102bb9593764a654dfbedb88328">eosio::datastream::seekp</a></div><div class="ttdeci">bool seekp(size_t p)</div><div class="ttdoc">Sets the position within the current stream. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:91</div></div>
<div class="ttc" id="classeosio_1_1datastream_html_af57bc94263dc08eb60b910a53645a052"><div class="ttname"><a href="classeosio_1_1datastream.html#af57bc94263dc08eb60b910a53645a052">eosio::datastream::remaining</a></div><div class="ttdeci">size_t remaining() const</div><div class="ttdoc">Returns the number of remaining bytes that can be read/skipped. </div><div class="ttdef"><b>Definition:</b> datastream.hpp:105</div></div>
<div class="ttc" id="classeosio_1_1datastream_3_01size__t_01_4_html_ac4720cb82d256a41f27bbf389b37790b"><div class="ttname"><a href="classeosio_1_1datastream_3_01size__t_01_4.html#ac4720cb82d256a41f27bbf389b37790b">eosio::datastream&lt; size_t &gt;::seekp</a></div><div class="ttdeci">bool seekp(size_t p)</div><div class="ttdef"><b>Definition:</b> datastream.hpp:123</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
